package com.fclassroom.logger.dao;

import java.util.List;
import java.util.Map;

import com.fclassroom.logger.entity.LogRExamRead;
import com.fclassroom.logger.entity.LogRExamReadDetail;
import com.fclassroom.logger.entity.LogRLogin;
import com.fclassroom.logger.entity.LogRScanner;
import com.fclassroom.logger.entity.OperaterLog;
import com.fclassroom.logger.entity.SystemLog;

/**
 * 
 * @author jason
 * @date 2015-12-22
 */
public interface ILogDao {

	/**
	 * 插入系统日志
	 * 
	 * @param SystemLog
	 * @return
	 */
	public void insertSystemLog(SystemLog systemLog);

	/**
	 * 插入系统日志
	 * 
	 * @param list
	 * @return
	 */
	public Integer insertSystemLog(List<SystemLog> logList);

	/**
	 * 插入业务日志
	 * 
	 * @param SystemLog
	 * @return
	 */
	public void insertOperaterLog(OperaterLog operaterLog);

	/**
	 * 插入业务日志
	 * 
	 * @param list
	 * @return
	 */
	public Integer insertOperaterLog(List<OperaterLog> logList);

	/**
	 * 根据业务日志，拆分出登录日志。
	 * 
	 * @author jason
	 * @date 2016 2016年7月26日 下午5:35:31
	 * @param logRLoginList
	 */
	public void insertLoginLog(List<LogRLogin> logRLoginList);

	/**
	 * 阅卷日志的拆解
	 * 
	 * @author jason
	 * @date 2016 2016年7月28日 上午10:07:59
	 * @param logRExamReadList
	 */
	public LogRExamRead insertlogRExamRead(LogRExamRead logRExamRead);

	public void insertlogRExamReadList(List<LogRExamRead> logRExamReadList);

	public void insertlogRExamReadDetailList(Long logRExamReadId, List<LogRExamReadDetail> logRExamReadList);

	/**
	 * 老师的本月出眷数量
	 * 
	 * @author dou
	 * @param map
	 * @return
	 */

	public int getTurnExamCount(Map<String, Object> map);

	/**
	 * 老师本月阅卷眷数量
	 * 
	 * @author dou
	 * @param map
	 * @return
	 */
	public int getReadExamCount(Map<String, Object> map);

	/**
	 * 获取读卷信息
	 * 
	 * @author yyh
	 * @param log
	 * @return
	 */
	public List<LogRExamRead> getLogExamRead(LogRExamRead log);

	/**
	 * 获取读卷信息详细
	 * 
	 * @author yyh
	 * @param logDetail
	 * @return
	 */
	public List<LogRExamReadDetail> getLogExamReadDetail(LogRExamReadDetail logDetail);

	/**
	 * 添加扫描仪使用日志
	 * 
	 * @author yyh
	 * @param logScanner
	 * @return
	 */
	public LogRScanner saveLogRScanner(LogRScanner logScanner);
}
